home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: MegaDisc
/
MegaDisc 24 (1991-10)(MegaDisc Digital Publishing)(AU)(Disk 1 of 2)[WB].zip
/
MegaDisc 24 (1991-10)(MegaDisc Digital Publishing)(AU)(Disk 1 of 2)[WB].adf
/
REVIEWS
/
QED_Review
/
QED_Review
Wrap
Text File
|
1991-09-26
|
32KB
|
677 lines
Q E D
John Collett
At school, when learning geometry, I was often asked
to "prove" things, and was told to follow my proof
with an abbreviation of a Latin statement meaning
"which was to be shown or proved".
The statement was "Quod erat demonstrandum",
and the abbreviation we used was QED.
What a great name for a text editor, whose
sole concern is "that which is to be shown"!
You're going to say "Oh no, not another enthusiastic sales pitch
for yet another text editor." 'Fraid so. But when at last I find
that particular combination of features I've been looking for, when
it turns out to contain so much more than I expected, and when the
price is right, then it is my duty as a member of the Amiga-using
fraternity to pass the good news on to others.
I knew what I wanted, and made the most of the arrangement which
allows you to try out software before you buy it. On Fish Disks
and others, I found and tried out one text editor after another.
For a while I liked Text Plus, but found it to be not 100% reliable
in its behaviour. Then I found AZ, liked it, and was thinking of
making it my everyday editor.
The docs were written by Frenchmen whose English was good but not
perfect, and it so happens that I earn my living by teaching French
(among other things). I spent a couple of days going through their
docs, with the English version alongside the original French,
making minor adjustments here and there to the English, without of
course changing the meaning or intention of the text. I sent them
a disk containing the polished version, and a letter asking if they
might be interested in taking the new version on board, to
accompany future English editions of their AZ. That was several
months ago, and my efforts have not even been acknowledged. They
might have written back to say "Thankyou, but we think our English
is good enough." or even "Mind your own business", but no, not a
word. You will understand why I am now less enthusiastic about AZ
than I was.
But it didn't matter, because meanwhile I had found QED.
As soon as I started to use it I knew that it had the main features
I was looking for - menu driven, but with keyboard alternatives; a
wide range of features; not too big; and fast in operation. It
contained one or two specific details I was hoping to find, such as
complete and easy paragraph formatting, and that rare luxury of
being able to set both margins. Yes, with QED you have the
apparently rare facility of being able to set a LEFT margin which
operates as you are writing.
The more I used QED, the more certain I became that this was a very
close approximation to the kind of package I had been looking for.
My preliminary evaluation was carried out using the reduced version
as available on various Public Domain disks. In your MegaDisc
Catalogue, under All_the_Listings, Utilities 1 and Utilities 2, see
UT139 and UT171. I actually got my copy from the Best of Amigan
No.23, also available from MD of course. UT139 lists QED as "a
neat little text editor", which is to be read in the same light as
"a Porsche is a nice little car" or "an Amiga is a nice little
computer". The UT171 listing was more to the point, listing QED as
"small, fast, and functional".
QED became and still is my everyday tool for text preparation, and
I sent off a subscription to become a registered user and to obtain
the full version. There was some delay and confusion - nobody's
fault, really - and it was all sorted out in time. It's just that
the author had changed his address, and the suggested contribution
had gone up from $20 to $30. It's still a bargain price, but it
cost me $10 in bank charges and postage to send the $10 difference!
Make a note of it. The address for QED is now not Sunflower Av.,
Santa Ana, as listed on the PD disks referred to above, but:
Darren M. Greenwald,
462 Devon Court,
Downingtown, PA 19335, U.S.A.
As soon as the full version arrived, I began an exploration, and I
have still, a few weeks later, only managed to scratch the surface
of what it contains. It is a quantum leap ahead of the "free"
version, and contains much more than was hinted at in the original
descriptions. I loved the misprint in MD20, ShareWare_1, by Mike
Simpson: "QED is now limited in the unregistered version to files
of 5000 K." Er, how big was that? But size of text is by no means
the only difference between the two versions, and I know before I
even start to summarise the features of QED that I will inevitably
fail to do justice to some of them.
We'll start with the menus, in which many¿ of the features are so
obvious that no further comment will be necessary. Discussion of
others will follow the lists.
The menus look like this, although the real menus also include
alternate key presses and various on/off check marks which I have
not included here.
Project
New
Open...
Load...
Save
Save as...
Print...
Info
About...
Quit
Edit
Cut
Copy
Erase...
Block
Mark
Insert
Column
Mark
Insert
Delete
Kill Line
Kill to EOL
Erase Word
Un-Kill
Cursor
Shift/Cursor
Prev Page
Next Page
Prev Word
Next Word
Alt/Cursor
Top Line
Last Line
Beg Of Line
End Of Line
Position
Mark Spot
GoTo Spot
Swap Spot
GoTo Line...
Tools
Command Mode
New CLI
-
>> Search & Replace
The sub-menus |
>> Window Tools
relating to |
>> ARexx Macros
these items |
>> Indent Line/Lines
are listed |
>> Format Paragraph
below. |
>> Justify Paragraph
|
>> Paragraph
-
>> Sentence
Other
Find [{()}]
Swap case
Options
Overstrike
Word Wrap
Margin Lock
Auto Indent
Block = Lines
Mark Retain
Free Cursor
Insert Tabs
Tab = Spaces
Save Options
Append Mode
Backup Files
Create Icons
Detab Print/Save
F-Keys
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
SUB-MENUS
Search & Replace
Search...
Replace...
Replace All...
Hunt
Window Tools
Tab Size...
Margins...
Scroll...
Cycle Borders
Cycle Colors
Show Linefeeds
Show Tabs
Prop Gadget
Next
Previous
ARexx Macros
Record...
Stop
Play...
Pause
Record Options Menu
Record All Settings
Record Key Defs
Record All Above
Indent Line/Lines
Left
Right
Format Paragraph
Left
Center
Right
Simple
Justify Paragraph
Left
Center
Right
Paragraph
Beginning
End
Sentence
Beginning
End
________________
Points of particular interest
I am not attempting to produce anything like a User's Guide here,
but simply to lift out from the above lists a few of the items
which call for comment. In the more complex cases, there will be
over-simplification and/or omission of finer details, but, as far
as I can go, I shall try to give an accurate picture.
New
Opens a new editing screen (over the top of the old, if there was
one, and very nicely placed so that the new title line is just
below the old). Using the window gadgets (or commands in Command
Mode), you can arrange any number of text windows on the screen,
overlapping or not, as you wish. This multi-window facility is one
of the real strengths of QED, allowing the copying of a patch of
text from one file into another simply by using "Mark", click, and
"Copy".
Save as...
Normally used for saving the entire text in a file, but if a block
or column has been marked, then just that patch is saved. Details
are entered via a file requester.
Column Mark and Insert
I haven't seen this in other editors. The patch that you delete,
copy, save, insert, etc, is not limited to a set of full-width
lines, but can be any rectangle - very useful for arranging columns
of figures, for example, and much appreciated when I was preparing
the above menu lists.
Command Mode
The fact that the corresponding key press for this selection is
[Esc] shows the major role which it plays in the QED system.
Entering the Command Mode opens a Command Window, which behaves
like a CLI window (complete with command line history if NEWCON: is
available), and which accepts any of about 150 QED commands. All
commands can be reduced to three letters, in either case. While
the list includes commands which are also acccessible via the menus
(as well as from key presses in many cases), the main value of the
command window is for entering commands which take arguments and
for starting ARexx and QED Macros.
New CLI
Does what you would expect, but I have found that when I exit from
the new CLI which it creates, my system seizes up and I have to
re-boot. Might there be a clash with something else running in
the background such as AutoCLI? The Command Window has no such
problems.
Search & Replace
Worth noting here because of the nice set of built-in "Replace"
options when a match is found: (Y)es - Replace, and search again.
(N)o - Do not replace, but search again. (O)ne - Replace the
string, and then stop searching. (Q)uit - Quit searching. (A)ll -
Replace all occurrences.
Cycle Colors
A nice touch for user comfort, which makes it easy to set "pen" and
"paper" colours. There are four preset combinations selected so as
to be visible on a two-colour screen. They cycle through white on
blue, blue on white, orange on black, and black on orange. What if
you want black on white? Easy. Press [Esc], and give the commands
"PAPER 1" and "PEN 2" - one example of how the Command Window goes
beyond what the menu offers.
ARexx Macros
RECORD... Turns on the macro recorder.
STOP Stops recording.
PLAY... Replays an ARexx macro.
PAUSE Pauses the macro recorder.
This will write macro scripts for you. All events - mouse clicks
and/or key presses - between "RECORD..." and "STOP" (but excluding
those for which "PAUSE" is invoked) are recorded in a readable
ARexx Macro Script. This script can then be invoked at any time by
pressing [Esc] and entering the command "MACRO scriptname". Better
still, any key can be defined to invoke a macro. Additional
options under "RECORD" allow various current settings to be added
to the macro script and reinvoked when the macro is used.
Imagination is the only limit on how this set of commands can be
put to work. Even if you haven't got ARexx, you can still make
good use of these features. The resulting ARexx macro script can be
edited - just a few minor changes - to convert it into a QED macro
script, and this can then be called by the command QMACRO.
A QED macro cannot do everything that ARexx can, but what it can do
it does rather faster than ARexx.
F-Keys
Not only can the ten function keys be user-defined, but so can
almost all other keys. They can in fact be defined in several
ways, in combination with Shift, Alt, and Ctrl keys, giving the
user about 350 possible definitions. You know the trouble with
SetKey, DefKey, SetFunc, and other such programs that offer you
user-defined keys? You can never remember the settings, and then
have to write a display panel to remind you. QED has a built in
menu option to display the F-key settings.
_____________________
Simple Step-by-Step Samples
After the preceding sketchy review of some points of special
interest in the menus, I would like to treat the topics of macros
and key settings in just a little bit more detail. I hope that
readers without QED will find it interesting, while new QED users
may even find it helpful. I am not wishing to imply that the docs
supplied with QED are anything but clear and thorough, but in what
follows I trace particular examples through in more detail than it
would be reasonable to expect in a full user's guide.
At the moment of writing this text my F-Key settings are all empty.
I am going to give different types of settings to each of function
keys 8, 9, and 10.
- F8 will invoke an ARexx macro to save a copy of the paragraph the
cursor is on to a file called "RAM:parag".
- For F9, I'll pretend that I haven't got ARexx, and have it use a
QED macro to reload the paragraph saved by F8 and then display it
with new margin settings.
- F10 will print out a useful address. The key definition will
hold the entire string, and no macro will be involved.
The first two of these tasks could, of course, be very easily
accomplished just by using existing menu choices, but I have
deliberately chosen very simple tasks with which to demonstrate how
macros are made and how they work.
Here we go.
Preliminaries
We are going to be creating one ARexx and one QED macro script.
ARexx macros must be held in a directory called "rexx" and QED
macros in a directory called "qed". Where "rexx" and "qed" are
(that is, which device they are on) is up to you, but wherever they
are, appropriate assignments must have been made. My startup-
sequence contains "ASSIGN REXX: df0:rexx" and "ASSIGN QED: df0:qed".
Setting F-Key 8
1 Place the cursor on the target paragraph.
2 Menu selection:
Tools
OR [CTRL 7]
>> ARexx Macros
Record...
3 The three dots following "Record..." mean that a file requester
will appear, and it will already be at the "rexx" directory when it
appears. What do I want to call the macro I am creating? I'll
enter "demo1", not forgetting to add the ".qed" extension by which
ARexx will recognise it as a QED script.
Now for the paragraph.
4 Menu selection:
Tools
OR [ALT ,]
>> Paragraph
Beginning
5 Menu selection:
Edit
OR [RAmiga B]
Block
Mark
6 Menu selection:
Tools
OR [ALT .]
>> Paragraph
End
7 Menu selection:
Tools
OR [RAmiga A]
Save As...
In the file requester, I'll enter "RAM:parag" as the destination
for the copy of the paragraph.
8 Menu selection:
Tools
OR [CTRL 8]
>> ARexx Macros
Stop
NOW I am going to go through those eight steps.....
It's done, and I should have produced a macro script called
"df0:rexx/demo1.qed". (Of course, as the script was made, the
process which it is designed to perform was also carried out, and
so there will now be a copy of the paragraph I selected in
"RAM:parag", but we'll ignore that for now.)
Let's load in the macro we've just made, and see what it looks
like.
/* Comment Field - QED Recorded Macro */
'BOP'
'MARK 3'
'EOP'
'SAVEAS \\RAM:parag'
That's it, untouched. ARexx expects a script to begin with a
comment line. It's there. Lines 3 to 6 are what we told it to do -
go to the Beginning Of the Paragraph, go into Mark Mode (the "3" is
a patch setting, but we don't need to know that), mark to the End
Of the Paragraph, and then SAVE the marked patch.
These four lines all begin with a single quote. A single or
double quote in this position indicates that a line does not
contain a command which ARexx itself will recognise, but rather a
"host command" to be issued to the current host, namely, QED. You
may well detect a crazy sort of redundancy here - QED asking ARexx
to to something, and ARexx simply passing each command back to QED
itself for execution. You're right. In the trivial example we are
using, that is how it works. But if, for example, the name of the
file had not been pre-defined, but passed as an input parameter,
then the ARexx function "ARG" would have been given a job to do,
using lines such as
ARG name
'SAVEAS \\RAM:' name
Already I am not 100% certain of the details of the syntax, and
sense that utter confusion is only a few steps away. In this kind
of scenario it can become difficult to understand the respective
roles of the players, but I found the following comforting
sentence in the documentation which deals with parameter-accepting
macros :
Confused? If you are new to ARexx you probably
are. The thing to do in this case is take it on
faith for now. Suddenly it will make complete sense.
We want to be able to execute macro scripts as easily as
possible. There are at least three methods:
(1) Menu selection:
Tools
OR [CTRL 9]
>> ARexx Macros
Play...
This would produce a requester, and we would ask for demo1.qed.
(2) Press [Esc], opening a Command Window, and type in "MACRO demo1"
(without the quotes).
(3) Define a single key - and that's what was promised. How do we
do that? Press [Esc] to open the Command Window, and type in "FKEY
8 MACRO demo1" (without the quotes). I'll do it now.
All three methods work, and once the key is defined the third is by
far the easiest. A copy of any paragraph can be saved to RAM: by a
single key press. You just have to make sure the cursor is on the
paragraph you want to save before you press. If we now look at the
F-Key settings using the menu, we see in the eighth line of the
box:
MACRO demo1
F8
How permanent are the effects of what I have just been doing? The
macro is written, and will remain in "rexx" until I delete it. It
can always be accessed by method (1) or (2). But the F8 setting is
for this session only. If I wanted to make it a permanent feature,
then the QED startup file (which we have not yet discussed) would
have to contain the FKEY definition we used in (3) above.
Setting F-Key 9
This time we're going to use a QED macro rather than ARexx. We
will load in the paragraph just stored in RAM:, and we'll reformat
it with a left margin of 10 and a right margin of 50. Again, we
have a set of steps to go through.
1 Place the cursor where the paragraph is required to appear.
2 and 3 as before, that is, select "ARexx Macro: Record" and then
enter the name of the macro to be constructed. I'll call it
"demo2.qed".
4 Menu selection:
Project
OR [RAmiga L]
Load...
The file to be loaded is "RAM:parag", and the cursor will then be
at the end of that loaded paragraph. We shall need it at the
beginning to format the whole paragraph, so:
5 Menu selection:
Tools
OR [ALT ,]
>> Paragraph
Beginning
Now we'll set the margins as required to 10 and 50.
6 Menu selection
Tools
OR [RAmiga M]
>> Window Tools
Margins...
In the requester window which opens we'll enter the values 10 and
50, and then format the paragraph to the new settings.
7 Menu selection
Tools
OR [CTRL ,]
>> Format Paragraph
Left
8 Repeat step 6 to set margins back to what they were.
9 Menu selection: As before, ARexx Macros: Stop
I'll do it all now.
And here is the macro script produced:
/* Comment Field - QED Recorded Macro */
'CLEAR; LOAD 0 \\RAM:parag'
'BOP'
'LMARGIN 10'
'RMARGIN 50'
'FORMAT 1'
'LMARGIN 1'
'RMARGIN 70'
We don't need to understand the details, but it looks right. From
line 3: load a file, go to the beginning, set margins, format the
paragraph, and reset the margins. But this is a macro script in
ARexx format, and what we set out to do here was create a QED macro
that can be run without ARexx. We need to edit the file
"REXX:demo2.qed" in two ways:
(1) Remove the comment line
(2) Remove all single quote marks (Search/Replace would be
quickest, replacing "'" with "").
The file in its new form is to be saved to the "qed" directory, and
the name must be adjusted. ARexx macros have the extension ".qed",
but QED macros have no extension. So the ARexx macro
"REXX:demo2.qed", once it has been edited, is to be saved as a QED
macro called "QED:demo2"
To arrange for the new QED macro to be invoked by F9, we press
[Esc], and in the Command Window enter "FKEY 9 QMACRO demo2" (no
quotes). The "F-Keys" menu item will show the new entry.
MACRO demo1
F8
QMACRO demo2
F9
TEST RUN I'll check that the cursor is somewhere in the paragraph
I am writing now, and press F8. Then I'll put the cursor a couple
of lines below this paragraph, and press F9. F8 should store the
paragraph as "RAM:parag", and F9 should reload it and reformat it.
TEST RUN I'll check that the cursor is
somewhere in the paragraph I am writing
now, and press F8. Then I'll put the
cursor a couple of lines below this
paragraph, and press F9. F8 should store
the paragraph as "RAM:parag", and F9
should reload it and reformat it.
Quod erat demonstrandum
Setting F-Key 10
We have already set two K keys. In this third example some control
characters will be included : "\N" for a new line and "\T" for a
tab. I'll press [Esc] to open the Command Window, and then enter
"FKEY 10 TEXT " plus a useful address, all in one line, using
control characters to arrange it as required.
Done it. Now I'll press F10.
MegaDisc,
P.O.Box 759,
Crows Nest 2065
Quod erat demonstrandum
Startup Sequences for QED
I had intended to include a description of the magic that can be
wrought with various automatically loaded QED startup sequences.
For example, that innocent looking ".qed" extension mentioned
earlier can be changed to ....
But I think I've said enough, and I want to leave room for .....
A personal note, and a plea
I have tried hard to understand ARexx, but however I approach it I
get bogged down. I can write and run stand-alone programs in
ARexx, but that is surely missing the point of what it's all about.
Most so-called explanations in articles and User Guides seem to
assume that I already know more about it than I do, and I find
Chapter 10 of the ARexx Manual completely impenetrable. Is there a
kind reader anywhere who has mastered it, and who could produce
some helpful diagrams, with boxes and arrows, to clarify ARexx
processes? What is the set of events in a typical ARexx process?
At each step, what does the sending, what is sent, and what
receives it? And if these questions don't even make sense, then
that just shows the kind of help I need - and I know I am not
alone.
The odd thing is that though I am so insecure in my understanding
of ARexx - "terrified" might be a better word - I have actually
written and run ARexx macros within the confines of QED, which
surely says something about the quality of the program and its
documentation. And when I started writing this piece, that
quality was precisely "that which was to be shown". QED
____________________________